package com.basic.modules.ykf.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.basic.common.annotation.DictParam;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 处罚管理
 *
 * @author maoheng
 * @email 15738859597@163.com
 * @date 2024-06-24 11:08:33
 */
@Data
@TableName("ykf_punish_record")
public class YkfPunishRecordEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * keyword
	 */
	@TableField(exist = false)
	private String keyword;

	/**
	 * ID
	 */
	@TableId
	private Long punishRecordId;
	/**
	 * 用户ID
	 */
	private Long userId;

	/**
	 * 处罚日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date punishDate;
	/**
	 * 姓名
	 */
	private String name;
	/**
	 * 工号
	 */
	private String no;
	/**
	 * 花名
	 */
	private String flowerName;

	/**
	 * 错误类型编码 字典errorType
	 */
	private String errorType;
	/**
	 * 错误类型名称
	 */
	@DictParam(field = "errorType", targetField = "errorTypeName", dictType = "errorType")
	private String errorTypeName;

	/**
	 * 质检错误编码 字典errCode
	 */
	private String errCode;
	/**
	 * 质检错误编码名称
	 */
	@DictParam(field = "errCode", targetField = "errCodeName", dictType = "errCode")
	private String errCodeName;

	/**
	 * 质检编号
	 */
	private String checkNo;
	/**
	 * 处罚金额
	 */
	private BigDecimal punishAmount;
	/**
	 * 子账号ID
	 */
	private Long subAccountId;
	/**
	 * 子账号编码
	 */
	private String accountNo;
	/**
	 * 子账号名称
	 */
	private String accountName;
	/**
	 * 买家账号
	 */
	private String buyerAccount;
	/**
	 * 客服分组 字典customGroup
	 */
	private String customGroup;
	/**
	 * 客服分组名称
	 */
	@DictParam(field = "customGroup", targetField = "customGroupName", dictType = "customGroup")
	private String customGroupName;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 创建者ID
	 */
	@TableField(fill = FieldFill.INSERT)
	private Long createUserId;
	/**
	 * 创建人名称
	 */
	@DictParam(field = "createUserId", targetField = "createUserName", dictType = "flowerName")
	@TableField(fill = FieldFill.INSERT)
	private String createUserName;
	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;
	/**
	 * 更新者ID
	 */
	private Long updateUserId;
	/**
	 * 更新人
	 */
	private String updateUserName;
	/**
	 * 更新时间
	 */
	private Date updateTime;

}
